home *** CD-ROM | disk | FTP | other *** search
/ PC Users 1998 November / Cd users extra 14.iso / prog / inst / mailc / see4c_u.txt < prev    next >
Encoding:
Text File  |  1998-09-14  |  45.6 KB  |  1,322 lines

  1.  
  2.  
  3.  
  4.  
  5.                          SMTP/POP3 Email Engine
  6.  
  7.                            Library for C/C++
  8.  
  9.                                  (SEE4C)
  10.  
  11.  
  12.  
  13.                               USERS MANUAL
  14.  
  15.  
  16.  
  17.                                Version 2.0
  18.  
  19.                             September 14, 1998
  20.  
  21.  
  22.  
  23.  
  24.                      This software is provided as-is.
  25.               There are no warranties, expressed or implied.
  26.  
  27.  
  28.  
  29.  
  30.                            Copyright (C) 1998
  31.                            All rights reserved
  32.  
  33.  
  34.  
  35.                        MarshallSoft Computing, Inc.
  36.                            Post Office Box 4543
  37.                            Huntsville AL 35815
  38.  
  39.  
  40.                            Voice : 256-881-4630
  41.                              FAX : 256-880-0925
  42.                            email : info@marshallsoft.com
  43.                              web : www.marshallsoft.com
  44.  
  45.                                _______
  46.                           ____|__     |                (R)
  47.                        --+       |    +-------------------
  48.                          |   ____|__  |  Association of
  49.                          |  |       |_|  Shareware
  50.                          |__|   o   |    Professionals
  51.                        --+--+   |   +---------------------
  52.                             |___|___|    MEMBER
  53.  
  54.  
  55.       MARSHALLSOFT is a registered trademark of MarshallSoft Computing.
  56.  
  57.  
  58.  
  59.  
  60.      SEE4C Users Manual                                        Page 1
  61.  
  62.                             C O N T E N T S
  63.  
  64.  
  65.  
  66.         Chapter                                     Page
  67.  
  68.  
  69.        1.0 Introduction................................................3
  70.            1.1 Email Client Compatibility..............................5
  71.            1.2 User Support............................................5
  72.            1.3 ASP Ombudsman...........................................5
  73.            1.4 Installation............................................6
  74.            1.5 Consulting Services.....................................6
  75.        2.0 Library Overview............................................7
  76.            2.1 Dynamic Link libraries..................................7
  77.            2.2 Compiler Compatibility..................................7
  78.            2.3 Compiling Programs......................................7
  79.            2.4 Using a MAKEFILE........................................7
  80.            2.5 Using an IDE............................................8
  81.            2.6 Compiling the Example Programs.........................10
  82.        3.0 Email Basics...............................................11
  83.            3.1 Your Email Account.....................................11
  84.            3.2 Email Address Format...................................11
  85.            3.3 MIME Extensions........................................11
  86.            3.4 Your SMTP/POP3 Host Name...............................12
  87.            3.5 Editing EMAIL.H........................................13
  88.        4.0 Theory of Operation........................................14
  89.        5.0 Versions of SEE............................................15
  90.            5.1 Shareware Version......................................15
  91.            5.2 Student Version........................................15
  92.            5.3 Professional Version...................................15
  93.        6.0 Using SEE with Other Languages.............................16
  94.        7.0 Problems...................................................17
  95.        8.0 Example Programs...........................................17
  96.            8.1 SMTP Example Programs..................................17
  97.            8.2 POP3 Example Programs..................................18
  98.        9.0 Legal Issues...............................................19
  99.            9.1 Registration...........................................19
  100.            9.2 Academic Discount......................................19
  101.            9.3 License................................................20
  102.            9.4 Warranty...............................................20
  103.       10.0 Summary................................................... 21
  104.            10.1 Revision History......................................21
  105.            10.2 SEE Function Summary..................................21
  106.            10.3 SEE Error Return Code List............................22
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.      SEE4C Users Manual                                        Page 2
  121.  
  122.       1.0 Introduction
  123.  
  124.       SEE4C is the easiest way to write email applications in C/C++ !
  125.  
  126.       The SMTP/POP3 Email Engine (SEE) is a library of functions providing
  127.       direct and simple control of the SMTP (Simple Mail Transport
  128.       Protocol) and POP3 (Post Office 3) protocols.
  129.  
  130.       A simple interface allows sending and receiving email, including
  131.       multiple MIME base64 and quoted-printable encoded attachments.
  132.       Knowledge of Winsock and TCP/IP is not needed. SEE4C includes
  133.       multiple C/C++ example programs.
  134.  
  135.       With SEE4C, you can write GUI or console mode programs that easily:
  136.  
  137.       (1) Send email with optional MIME attachments.
  138.       (2) Get the number of messages on your email server.
  139.       (3) Get the header lines from any email on your server, without
  140.           reading the entire email.
  141.       (4) Delete any email on the server without reading it first.
  142.       (5) Receive any email on your server including MIME attachments.
  143.  
  144.       Ten example programs are included, demonstrating the above functions.
  145.       Microsoft Foundation Class (MFC) and Borland C++ Builder (BCB)
  146.       examples are also included.
  147.  
  148.       SEE4C supports and has been tested with Microsoft Visual C/C++,
  149.       Borland C/C++, and Watcom C/C++ compilers. It can also be used with
  150.       most other Windows compilers.
  151.  
  152.       Both Win16 and Win32 DLLs (Dynamic Link Libraries) are provided.
  153.       SEE4C can be used with Windows 3.X, 95/98, and NT. The SEE4C DLLs
  154.       (SEE16.DLL and SEE32.DLL) can also be used from any language (Visual
  155.       Basic, ACCESS, EXCEL, Power Basic Console Compiler, Delphi, Fujitsu
  156.       COBOL, ABSOFT Fortran, etc.) capable of calling the Windows API.
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.      SEE4C Users Manual                                        Page 3
  181.  
  182.       1.0 Introduction (continued)
  183.  
  184.       The following example demonstrates the use of the library functions:
  185.  
  186.       +-------------------------------------------------------------------+
  187.       | #include <windows.h>                                              |
  188.       | #include <stdio.h>                                                |
  189.       | #include "see.h"                                                  |
  190.       |                                                                   |
  191.       | void main(int argc, char *argv[])                                 |
  192.       | {int Code;                                                        |
  193.       |  /* connect to SMTP server */                                     |
  194.       |  seeSmtpConnect(                                                  |
  195.       |    (LPSTR)"mail.yourserver.net",  /* your SMTP server */          |
  196.       |    (LPSTR)"user@domain.com",      /* your email address */        |
  197.       |    (LPSTR)NULL);                  /* Reply-To header */           |
  198.       |  /* send email */                                                 |
  199.       |  seeSendEmail(                                                    |
  200.       |    (LPSTR)"see@marshallsoft.com", /* To list */                   |
  201.       |    (LPSTR)NULL,                   /* CC list */                   |
  202.       |    (LPSTR)NULL,                   /* BCC list */                  |
  203.       |    (LPSTR)"SEE Test",             /* Subject */                   |
  204.       |    (LPSTR)"This is a test.",      /* Message text */              |
  205.       |    (LPSTR)"SEE4C20.ZIP");         /* MIME attachment */           |
  206.       |  /* close connection to server */                                 |
  207.       |  seeClose();                                                      |
  208.       | }                                                                 |
  209.       +-------------------------------------------------------------------+
  210.  
  211.       In the example program above, seeSmtpConnect is called to connect to
  212.       your SMTP mail host. The SMTP server host name and your email address
  213.       are required, while the "Reply-To" entry is optional.
  214.  
  215.       seeSendEmail is then called, passing the addressee lists. The primary
  216.       addressee is provided in the "To List". The CC ("Carbon Copy") lists
  217.       additional recipients, as does the BCC (Blind Carbon Copy) list. The
  218.       subject contains the email subject line. The message text is next. If
  219.       it starts with the '@' symbol, it is considered the name of the file
  220.       containing the email message. Lastly, the filename of any ASCII or
  221.       binary attachment is specified. All fields in seeSendEmail are
  222.       optional except the first.
  223.  
  224.       After returning from seeSendEmail, the seeClose function is called to
  225.       close the connection to the SMTP server.
  226.  
  227.       Refer to the SEE4C Reference Manual for individual function details.
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.      SEE4C Users Manual                                        Page 4
  241.  
  242.       1.1 Email Client Compatibility
  243.  
  244.       The SMTP/POP3 Email Engine library has been tested against multiple
  245.       email clients, including Eudora (Lite & Pro), Microsoft Outlook,
  246.       Pegasus, Calypso, PM Mail 98, Actif Mail, Lotus Notes, and Netscape.
  247.  
  248.       1.2 User Support
  249.  
  250.       We want you to be successful in developing your applications using
  251.       SEE4C! We are committed to providing the best library that we can. If
  252.       you have any suggestions or comments, please let us know.
  253.  
  254.       If you are having a problem using SEE4C, email us at
  255.  
  256.          support@marshallsoft.com
  257.  
  258.       You can also reach us at 256-881-4630 between 8:30 AM and 8:30 PM CST
  259.       Monday through Friday. You can also often get us on the weekend.
  260.  
  261.       The latest versions of our products are available on our web site at
  262.  
  263.          http://www.marshallsoft.com
  264.  
  265.       and on our anonymous FTP site at
  266.  
  267.          ftp://ftp.marshallsoft.com/marshallsoft
  268.  
  269.       The MarshallSoft Computing newsletter "Comm Talk" is published
  270.       quarterly on our web site.  It discusses various communications
  271.       problems and solutions using our products as well as related
  272.       information.
  273.  
  274.       1.3 ASP Ombudsman
  275.  
  276.       MarshallSoft Computing, Inc. is a member of the Association of
  277.       Shareware Professionals (ASP).  ASP wants to make sure that the
  278.       shareware principle works for you.  If you are unable to resolve a
  279.       shareware-related problem with an ASP member by contacting the member
  280.       directly, ASP may be able to help. The ASP Ombudsman can help you
  281.       resolve a dispute or problem with an ASP member, but does not provide
  282.       technical support for members' products. Please write to the ASP
  283.       Ombudsman at 157-F Love Ave., Greenwood, IN 26142 USA, FAX
  284.       317-888-2195, or send email to omb@asp-shareware.org.
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.      SEE4C Users Manual                                        Page 5
  301.  
  302.       1.4 Installation
  303.  
  304.       (1) Before installation of SEE4C, your Windows C/C++ compiler should
  305.       already be installed on your system and tested. In particular,
  306.       include command line tools when installing your compiler.
  307.  
  308.       (2) Make a backup copy of your distribution disk.  Put your original
  309.       distribution disk in a safe place.
  310.  
  311.       (3) Exit Windows into DOS, or start a DOS window:
  312.  
  313.       (4) Create your SEE project directory, copy the SEE archive, then
  314.       unzip the archive. For example:
  315.  
  316.                 MKDIR   SEE4C
  317.                 PKUNZIP SEE4C20.ZIP SEE4C
  318.  
  319.       (5) Run the INSTALL batch file, which will copy the correct DLL and
  320.       LIB files for your compiler. For Win32 compilers, you may choose
  321.       native mode DLLs for your compiler (Microsoft, Borland, or Watcom) or
  322.       "universal" mode, which requires that your compiler support the
  323.       "declspec" keyword. Microsoft, Borland 5.0 and Watcom 11.0 all
  324.       support "declspec". The same DLL is used for all Win16 compilers.
  325.  
  326.                 INSTALL MS      (Microsoft)
  327.                 INSTALL BC      (Borland)
  328.                 INSTALL WC      (Watcom)
  329.                 INSTALL U       (Universal)
  330.  
  331.       (6) Before compiling any example programs, you must edit the file
  332.       EMAIL.H with your email configuration as described in section 3.5.
  333.  
  334.       1.5 Consulting Services
  335.  
  336.       We offer consulting services at $75 per hour, billed to your credit
  337.       card in 10 minute increments. A work authorization letter must be
  338.       signed and mailed or FAXed to us before we can start.
  339.  
  340.       Questions dealing with the use of our library or our example programs
  341.       are covered as "support", for which there is no charge. Any other
  342.       questions are considered consulting.
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.      SEE4C Users Manual                                        Page 6
  361.  
  362.       2.0 Library Overview
  363.  
  364.       2.1 Dynamic Link Libraries
  365.  
  366.       SEE4C includes both Win16 [SEE16] and Win32 [SEE32] dynamic link
  367.       libraries (DLL). A DLL is characterized by the fact that it need not
  368.       be loaded until required by an application program and that only one
  369.       copy of the DLL is necessary regardless of the number of application
  370.       programs that use it. Contrast this to the traditional static library
  371.       which is bound to each and every application that uses it at link
  372.       time.
  373.  
  374.       Since SEE4C is a DLL, only one copy of the SEE4C code is loaded into
  375.       memory regardless of the number of applications programs that use it.
  376.       For example, more than one instance of the test program MAILER can be
  377.       started.  All copies of MAILER can run concurrently.
  378.  
  379.       2.2 Compiler Compatibility
  380.  
  381.       SEE4C has been tested with Microsoft Visual C/C++, Borland C/C++
  382.       (including C++ Builder), Turbo C/C++, and Watcom C/C++. Other Windows
  383.       C/C++ compiler may work as well.
  384.  
  385.       2.3 Compiling Programs
  386.  
  387.       The example programs can be compiled by using either the provided
  388.       makefiles or creating a project file for the IDE. Separate makefiles
  389.       are provided for Win16 and Win32. 16-bit makefile end with "16" while
  390.       32-bit makefiles end with "32".
  391.  
  392.       The various Win32 compiler manufacturers each use different compiler
  393.       settings so that a DLL compiled with one compiler cannot always be
  394.       called by an application compiled with a different compiler.
  395.  
  396.       One solution is the use of the "declspec" keyword provided that your
  397.       compiler supports it. This corresponds to choosing the "universal" set
  398.       of DLLs when installing. See INSTALL.BAT.
  399.  
  400.       2.4 Using a MAKEFILE
  401.  
  402.       Makefiles originated on UNIX systems. They are the standard way that
  403.       C/C++ programs are constructed in command line environments. Windows
  404.       programs can be constructed with makefiles running DOS using command
  405.       line Windows compilers.
  406.  
  407.       Makefiles are provided for Microsoft, Borland, and WATCOM command line
  408.       compilers. Makefiles have file extensions of "_M_" for Microsoft, "_B_"
  409.       for Borland, and "_W_" for WATCOM. Thus, MAILER16._W_ is the Watcom
  410.       Win16 makefile for MAILER and MAILER32._M_ is the Microsoft Win32
  411.       makefile.
  412.  
  413.       Turbo C/C++ for Windows and Borland C Builder do not support command
  414.       line makefiles. See MAKEFILE.TXT for more information on makefiles.
  415.  
  416.  
  417.  
  418.  
  419.  
  420.      SEE4C Users Manual                                        Page 7
  421.  
  422.       2.5 Using an IDE
  423.  
  424.       All current windows compilers have an Integrated Development
  425.       Environment (IDE) for building application programs in the Windows
  426.       environment. Since there is no standard format for IDE project files,
  427.       file names must be entered into the IDE from the keyboard.  Each
  428.       example program has a project text file (e.g. MAILER.PRJ) which
  429.       contains the list of filenames that must be entered into the IDE.
  430.  
  431.       We do not distribute IDE files in our package because (1) they are
  432.       very large, (2) they are not always upwardly compatible with previous
  433.       versions of a particular IDE, (3) there is no standard project file
  434.       format between compiler manufactures, and (4) they often must be
  435.       modified to provide the correct path names.
  436.  
  437.       However, creating a project file within the IDE is very easy. Each
  438.       application has a project file . Each project file contains the
  439.       filenames that must be entered into the IDE.
  440.  
  441.       For each IDE, you will have to enter these filenames into the IDE.
  442.       This is usually done with the INS key except for the Microsoft
  443.       Developer, which uses menu commands. Be careful to enter all
  444.       filenames as listed in the ".PRJ" file.
  445.  
  446.       All of the example application programs have been built using IDEs
  447.       from Microsoft, Borland, and Watcom. However, there are differences
  448.       between IDE versions from the same compiler manufacturer.
  449.  
  450.       All of the IDEs use the concept of a file hierarchy. For example, the
  451.       MAILER file hierarchy in the IDE (for 32-bit) should look like:
  452.  
  453.          MAILER.EXE
  454.          +++ MAILER.C
  455.          +++ SEE32.LIB
  456.  
  457.       Replace SEE32.LIB above with SEE16.LIB for 16-bit applications. The
  458.       order of the files is not significant.
  459.  
  460.       2.5.1 Microsoft IDE
  461.  
  462.       Choose "Project", then "New". Select Win16 [Win32] as the target. A
  463.       dialog box will then pop up into which the project file names are
  464.       entered.
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.      SEE4C Users Manual                                        Page 8
  481.  
  482.       2.5.2 Microsoft Developer
  483.  
  484.       Choose "File", then "New", then "Project Workspace". Select
  485.       "Application" for "Type:" and your project name for "Name:". Choose
  486.       Win16 or Win32 for platform. Then select "Create".
  487.  
  488.       Select "Insert", then "Files into Project". Add all filenames as
  489.       listed in the ".PRJ" file corresponding to the project you are
  490.       building. Lastly, select "Rebuild All".
  491.  
  492.       2.5.3 Borland IDE
  493.  
  494.       Turn off LINKER case sensitivities: Choose "Options", "Projects",
  495.       "Linker", "General". Turn off the "case sensitive link" and "case
  496.       sensitive exports and imports" boxes.
  497.  
  498.       Next, choose "Project", then "New Project". Use the INS (Insert) key
  499.       to pop up a dialog box into which the project file names are entered.
  500.  
  501.       Select "GUI" for the "Target Model:" Only "Runtime" and "Dynamic"
  502.       should be checked for "Standard Libraries:"
  503.  
  504.       NOTE1: If, after linking in the IDE, you get unresolved external
  505.       references to the communications library functions in which each
  506.       function name is all upper case, then you have NOT turned off case
  507.       sensitivity as described above.
  508.  
  509.       NOTE2: If you get errors compiling the windows header file
  510.       "WINDOWS.H", turn on "Borland Extensions" in "Options", "Project",
  511.       "Compiler", "Source".
  512.  
  513.       2.5.4 Turbo C IDE
  514.  
  515.       Follow the same directions as above, except that the "Target Model:"
  516.       can be any listed.
  517.  
  518.       2.5.5 Borland C++ Builder
  519.  
  520.       Choose "File" / "Open Project" on the menu bar. Load BCB_PRJ.MAK.
  521.       Then, choose "Build All" from "Project" to create the executable.
  522.  
  523.       2.5.6 Watcom IDE
  524.  
  525.       Choose "File", then "New Project". Enter the project name and then
  526.       choose Win16 [Win32] as the target. Use the INS (Insert) key to pop
  527.       up a dialog box into which the project file names are entered.
  528.  
  529.       Select "Options" from the main window, then "C Compiler Switches",
  530.       then "10". Memory Models and Processor Switches". Check "80386 Stack
  531.       based calling [-3s]", then check "32-bit Flat model [-mf]".
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.      SEE4C Users Manual                                        Page 9
  541.  
  542.       2.6 Compiling Example Programs
  543.  
  544.       There are makefiles provided for each of the example programs.
  545.       For example, to compile QUICK:
  546.  
  547.       For Microsoft C, type:
  548.  
  549.           NMAKE -f QUICK16._M_
  550.           NMAKE -f QUICK32._M_
  551.  
  552.       For Borland C, type:
  553.  
  554.           MAKE -f QUICK16._B_
  555.           MAKE -f QUICK32._B_
  556.  
  557.       For Watcom C, type:
  558.  
  559.           WMAKE -f QUICK16._W_
  560.           WMAKE -f QUICK32._W_
  561.  
  562.       Several example programs are coded for Win32 Console Mode, and
  563.       therefore can NOT be compiled under Win16.
  564.  
  565.       The QM_PRJ example program requires Borland C++ Builder. The MFC_PGM
  566.       example program requires Microsoft Foundations Classes (MFC).
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.      SEE4C Users Manual                                        Page 10
  601.  
  602.       3.0 Email Basics
  603.  
  604.       3.1 Your Email Account
  605.  
  606.       Your email account is hosted on a computer which has a permanent
  607.       connection to the Internet. Email is sent to you over the Internet using
  608.       the SMTP (Simple Mail Transport Protocol) and is stored on disk until
  609.       you retrieve it using the POP3 (Post Office Protocol 3) or IMAP
  610.       (Internet Message Access Protocol) protocol. POP3 is a subset of IMAP,
  611.       so the POP3 protocol can be used to email from a IMAP email server.
  612.  
  613.       The SMTP/POP3 Email Engine (SEE) is used to send and receive email using
  614.       the SMTP and POP3 protocols.
  615.  
  616.       3.2 Email Address Format
  617.  
  618.       Email addresses are always specified as "xxx<yyy@zzz>" where
  619.  
  620.          (1) xxx is the optional "real name".
  621.  
  622.          (2) yyy@zzz is the official email address,
  623.              where yyy is your account name, and
  624.              zzz is where your email account is hosted.
  625.  
  626.          (3) The brackets are required.
  627.  
  628.       For example, my email address can be specified by any of the
  629.       following:
  630.  
  631.          (1) <mike@marshallsoft.com>
  632.          (2) Mike<mike@marshallsoft.com>
  633.          (3) Mike Marshall <mike@marshallsoft.com>
  634.  
  635.       Multiple email addresses can be stringed together separated by
  636.       commas, as in:
  637.  
  638.          "<mike@myisp.com>,<pam@myisp.com>,<lauren@myisp.com>"
  639.  
  640.       See the sample programs for many examples of use.
  641.  
  642.       3.3 MIME Extensions
  643.  
  644.       Internet mail can only transport 7-bit ASCII characters. Multipurpose
  645.       Internet Mail Extensions (MIME) are used to allow the attachment of
  646.       binary data to an email message.
  647.  
  648.       The standard MIME attachment types are "quoted-printable" and "base64".
  649.       The SMTP/POP3 Email Engine library supports both.
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.      SEE4C Users Manual                                        Page 11
  661.  
  662.       3.3.1 Quoted-Printable Encoding
  663.  
  664.       Quoted-Printable encoding is primarily used to embed binary values
  665.       into a email message, typically for use with foreign alphabets.
  666.  
  667.       To enable Quoted-Printable encoding, call
  668.  
  669.           seeIntegerParam(SEE_QUOTED_PRINTABLE, 1);
  670.  
  671.       before calling seeSendEmail.
  672.  
  673.       To disable Quoted-Printable encoding, call
  674.  
  675.           seeIntegerParam(SEE_QUOTED_PRINTABLE, 0);
  676.  
  677.       The default is Quoted-Printable encoding off.
  678.  
  679.       3.3.2 Binary Attachments
  680.  
  681.       Binary attachments are encoded using MIME base-64. Most all email
  682.       clients (such as made by Eudora, Netscape, and Microsoft) can decode
  683.       MIME base-64 attachments.
  684.  
  685.       To attach a file to your email, you specify the filename as the last
  686.       argument of the seeSendEmail function. Refer to the reference manual
  687.       for more details. Multiple attachments are listed with commas
  688.       separating them, such as "file1.zip,file2.zip,file3.zip".
  689.  
  690.       3.4 Your SMTP/POP3 Host Name
  691.  
  692.       In order to send or receive email, you must know the name (or IP
  693.       address) of your mail server. All email client programs (Eudora,
  694.       etc.) must have this name in order to send email.
  695.  
  696.       Typically, your email server name will be "mail.XXX.YYY" where XXX.YYY
  697.       is the name of the computer which hosts your email account. If you
  698.       aren't sure of your email host name, look in the setup of your email
  699.       client program or ask your system administrator.
  700.  
  701.       Before compiling any example programs, you must edit the file EMAIL.H
  702.       with your email configuration as described in section 3.5.
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.      SEE4C Users Manual                                        Page 12
  721.  
  722.       3.5 Editing EMAIL.H
  723.  
  724.       The file EMAIL.H contains the following five defines
  725.  
  726.          #define SMTP_HOST_NAME      "smtp_server_name"
  727.          #define POP3_HOST_NAME      "pop3_server_name"
  728.          #define YOUR_EMAIL_ADDR     "your_email_address"
  729.          #define POP3_USER_NAME      "pop3_account_name"
  730.          #define POP3_PASSWORD       "pop3_account_password"
  731.  
  732.       and must be edited with your email configuration before compiling any of
  733.       the example programs. This information is required for all email
  734.       clients. If you are unsure of any of these settings, look in your email
  735.       client program (Eudora, Pegasus, etc.).
  736.  
  737.       SMTP_HOST_NAME is the name (or IP address) of your SMTP email server.
  738.       For example,
  739.  
  740.          #define SMTP_HOST_NAME    "mail.hiwaay.net"
  741.          #define SMTP_HOST_NAME    "10.240.72.1"
  742.  
  743.       POP3_HOST_NAME is the name of your POP3 server, which is typically the
  744.       same as the SMTP server. For example,
  745.  
  746.          #define POP3_HOST_NAME    "mail.hiwaay.net"
  747.          #define POP3_HOST_NAME    "10.240.72.1"
  748.  
  749.       Note that your email account is hosted by the POP3 server, although
  750.       you could use another server (SMTP) for sending email.
  751.  
  752.       YOUR_EMAIL_ADDR is your email address. Brackets "<>" are required. For
  753.       example,
  754.  
  755.          #define YOUR_EMAIL_ADDR   "Mike Marshall<mike@marshallsoft.com>"
  756.  
  757.       POP3_USER_NAME is the account name for your email (POP3) account. For
  758.       example,
  759.  
  760.          #define POP3_USER_NAME  "marshallsoft"
  761.  
  762.       POP3_PASSWORD is the password for your email (POP3) account. For
  763.       example,
  764.  
  765.          #define POP3_PASSWORD "qwerty"
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.      SEE4C Users Manual                                        Page 13
  781.  
  782.       4.0 Theory Of Operation
  783.  
  784.       The SMTP/POP3 Email Engine is state driven. This means that each call to
  785.       SEE functions (that access the server) is broken down into sequential
  786.       steps, each of which can be performed within a second or two.
  787.  
  788.       There are two ways in which SEE is used: (1) indirect use of the
  789.       state engine, and (2) direct use of the state engine.
  790.  
  791.       4.1 Indirect Method
  792.  
  793.       The first (or "indirect") way to use the SEE library is to allow all SEE
  794.       function calls to automatically call the SEE driver (seeDriver) before
  795.       returning. This is the default way that SEE operates.
  796.  
  797.       The major advantage of this approach is that each SEE function
  798.       returns only after it has completely finished. The disadvantage of
  799.       this approach is that some functions may run for a considerable
  800.       amount of time during which time the calling application must wait.
  801.  
  802.       Refer to the sample programs MAILER and STATUS for an example of this
  803.       approach.
  804.  
  805.       4.2 Direct Method
  806.  
  807.       The second (or "direct") way that the SEE state driver is used is to
  808.       call it (seeDriver) directly. In order to operate this way, the
  809.       function seeIntegerParam must be called which sets the AUTO_CALL
  810.       flag to off:
  811.  
  812.          seeIntegerParam(SEE_AUTO_CALL_DRIVER, 0);
  813.  
  814.       After the above statement is executed, the state driver (seeDriver)
  815.       must be called after all other SEE functions that access the server.
  816.       For example,
  817.  
  818.          Code = seeSmtpConnect(...);
  819.          if(Code<0) {/* handle error here */}
  820.          while(1)
  821.            {/* call the driver */
  822.             Code = seeDriver();
  823.             if(Code<0) {/* handle error here */}
  824.             if(Code==0) break;
  825.             /* do something here . . . */
  826.            }
  827.  
  828.       The major advantage of the direct approach is that the calling
  829.       application can perform other work such as reporting the progress of
  830.       large downloads. The disadvantage is the extra code that must be
  831.       written to call seeDriver.
  832.  
  833.       Refer to the sample programs FROM and READER for an example of this
  834.       approach.
  835.  
  836.  
  837.  
  838.  
  839.  
  840.      SEE4C Users Manual                                        Page 14
  841.  
  842.       5.0 Versions of SEE
  843.  
  844.       The SMTP/POP3 Email Engine (SEE) library is available in three versions.
  845.       All three versions have identical functionality.
  846.  
  847.       5.1 Shareware Version
  848.  
  849.       The shareware version can be differentiated from the other two
  850.       versions by:
  851.  
  852.       (1) The shareware reminder screen is displayed at startup.
  853.  
  854.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  855.           "X-Registered-To: SHAREWARE VERSION [http://www.marshallsoft.com]"
  856.  
  857.       (3) All email is followed by the following two lines:
  858.           "___________________________________________________________________"
  859.           "MarshallSoft SMTP/POP3 Engine. Programmers see www.marshallsoft.com"
  860.  
  861.       The Shareware version may not be used for commercial purposes.
  862.  
  863.       5.2 Student Version
  864.  
  865.       The student version can be differentiated from the other two versions
  866.       by:
  867.  
  868.       (1) There is no shareware reminder screen.
  869.  
  870.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  871.           "X-Registered-To: STUDENT VERSION [http://www.marshallsoft.com]"
  872.  
  873.       (3) There are no lines added to the end of the email as in the
  874.           shareware version.
  875.  
  876.       The Student version may not be used for commercial purposes.
  877.  
  878.       5.3 Professional Version
  879.  
  880.       The professional version can be differentiated from the other two versions
  881.       by:
  882.  
  883.       (1) There is no shareware reminder screen.
  884.  
  885.       (2) The "X-Registered-To: " header in all outgoing email is branded with
  886.           your company name.
  887.  
  888.       (3) There are no lines added to the end of the email as in the
  889.           shareware version.
  890.  
  891.       The professional version may be distributed with your application as
  892.       as specified by the software license.
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.      SEE4C Users Manual                                        Page 15
  901.  
  902.       6.0 Using SEE with Other Languages
  903.  
  904.       The SMTP/POP3 Email Engine DLLs can be used with any application written
  905.       in ANY language capable of calling the Windows (3.1, 95/98, NT) API.
  906.       SEE16.DLL is required for all Win16 (Windows 3.1) applications, and
  907.       SEE32.DLL is required for all Win32 (Windows 95/98/NT) applications.
  908.  
  909.       Declaration files have been defined by the following languages:
  910.  
  911.                C/C++ : SEE.H
  912.         Visual Basic : SEE16.BAS & SEE32.BAS
  913.       EXCEL & ACCESS : SEE16.BAS & SEE32.BAS
  914.       Power Basic CC : SEE32.BAS [not the same as above]
  915.       Borland Delphi : SEE16.PAS & SEE32.PAS
  916.        Fujitsu COBOL : SEE32.CBI
  917.        Visual FoxPro : SEE32.FOX
  918.  
  919.       Additional declaration files will be added. Give us a call if you
  920.       need a declaration not listed above.
  921.  
  922.       If you have interfaced SEE to an unusual language, email us the
  923.       declaration file!
  924.  
  925.       6.0 Problems
  926.  
  927.       Before attempting to run any of the example programs, you should
  928.       already be able to connect to the Internet and run your email client
  929.       program, such as Eudora or Pegasus Mail.
  930.  
  931.       If you cannot get your application to run properly, first compile and
  932.       run the example programs. If you call us to report a possible bug in
  933.       the library, the first thing we will ask is if the example programs
  934.       run correctly.
  935.  
  936.       Be sure to test the code returned from SEE functions. Then, call
  937.       seeErrorText to get the text associated with the error code.
  938.  
  939.       For example:
  940.  
  941.       Code = seeSmtpConnect("mail.isp.net","<mike@marshallsoft.com>",NULL);
  942.       if(Code<0)
  943.         {static char Buffer[64];
  944.          seeErrorText(Code,Buffer,64);
  945.          printf("Error %d: %s\n", Code, Buffer);
  946.         }
  947.  
  948.       If you encounter a problem that you cannot resolve, give us a call or
  949.       email us at support@marshallsoft.com.
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.      SEE4C Users Manual                                        Page 16
  961.  
  962.       8.0 Example Programs
  963.  
  964.       Before compiling any of the example programs, edit the file EMAIL.H with
  965.       your email configuration as explained in section 3.5 "Editing EMAIL.H".
  966.  
  967.       8.1 SMTP Example Programs
  968.  
  969.       There are 6 SMTP example programs. SMTP programs send email.
  970.  
  971.       8.1.1 MULTI
  972.  
  973.       MULTI is a Win32 console mode program that connects to a SMTP server
  974.       and sends two email messages. This is the first SMTP example program
  975.       to edit, compile, and run.
  976.  
  977.       8.1.2 MAILER
  978.  
  979.       MAILER is a Win32 console mode program that emails a message, taking
  980.       its input from the command line.
  981.  
  982.       8.1.3 QUICK
  983.  
  984.       QUICK is a Win16/Win32 GUI (Graphical User Interface) application
  985.       that emails a message entered into a dialog box.
  986.  
  987.       8.1.4 QM
  988.  
  989.       "Quick Message" (QM_PRJ & QM_PGM) is a Borland C++ Builder (Win32
  990.       GUI) program that emails a message from the GUI. Borland C++ Builder
  991.       is required to compile this program.
  992.  
  993.       8.1.5 MFC_PGM
  994.  
  995.       MFC_PGM is a Microsoft Foundation Class (MFC) example program. Win16
  996.       (MFCPGM16.MAK) and Win32 (MFCPGM32.MAK) makefiles are provided. File
  997.       NAFXCW.LIB may have to be copied from MFC\LIB on your Microsoft
  998.       Visual C/C++ CD disk.
  999.  
  1000.       8.1.6 BCAST
  1001.  
  1002.       BCAST is a Win32 console mode program which emails the same message
  1003.       (BCAST.MAI) to a list of addresses taken from the file BCAST.EML.
  1004.       Please DO NOT use this for spam!
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.      SEE4C Users Manual                                        Page 17
  1021.  
  1022.       8.2 POP3 Example Programs
  1023.  
  1024.       There are 5 POP3 example programs. These examples read email.
  1025.  
  1026.       8.2.1 STAT
  1027.  
  1028.       STAT is a very simple Win32 console modem program that returns the
  1029.       number of email messages waiting on the POP3 server. This is the
  1030.       first POP3 example to edit, compile, and run.
  1031.  
  1032.       8.2.2 FROM
  1033.  
  1034.       FROM is a Win16/Win32 GUI application that reads and displays
  1035.       selected header information, without reading the entire email
  1036.       message. FROM also makes a very handy utility program.
  1037.  
  1038.       8.2.3 STATUS
  1039.  
  1040.       STATUS is the Win32 console mode equivalent of FROM.
  1041.  
  1042.       8.2.4 DELETE
  1043.  
  1044.       DELETE is a Win32 console mode program that deletes an email message
  1045.       from the server. Be careful! Once deleted, an email message cannot be
  1046.       recovered.
  1047.  
  1048.       8.2.5 READER
  1049.  
  1050.       READER is a Win32 console mode program that reads an email message,
  1051.       including MIME attachments, saving it to disk. For example, to read
  1052.       email message #1 and save it as file MYMAIL.TXT,
  1053.  
  1054.          READER 1 MYMAIL.TXT
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.      SEE4C Users Manual                                        Page 18
  1081.  
  1082.       9.0 Legal Issues
  1083.  
  1084.       9.1 Registration
  1085.  
  1086.       The professional version of SEE4C may be registered for $95 plus $7
  1087.       S&H ($12 outside of North America) . The professional registered DLLs
  1088.       may be distributed (without royalty) in object form only, as part of
  1089.       the user's application, provided that the application is NOT a
  1090.       compiler, interpreter, or other software development program.
  1091.  
  1092.       The professional version DLL is also branded with your company name.
  1093.  
  1094.       To order, contact us as shown on the title page of this manual. All
  1095.       prices are guaranteed for one year from the release date.
  1096.  
  1097.       Multiple copy discounts (3 or more) and site licenses are available.
  1098.       Please call for details.
  1099.  
  1100.       We  accept American Express, VISA, MasterCard, Discover, checks in US
  1101.       dollars drawn on  a  US  bank,  International  Postal  Money  Orders,
  1102.       purchase orders (POs) from recognized US schools and companies listed
  1103.       in  Dun  &  Bradstreet,  and  COD  (street  address  and phone number
  1104.       required) within the USA (plus a $5 COD charge).
  1105.  
  1106.       For credit card orders, be sure to include the account number, the
  1107.       expiration date, the exact name on the card, and the complete card
  1108.       billing address (the address to which the credit card bill is
  1109.       mailed).
  1110.  
  1111.       Print the file INVOICE.TXT if a "Pro Forma" invoice is needed. The
  1112.       registered package includes:
  1113.  
  1114.            o  Win16 & Win32 SEE4C Libraries w/o shareware screens.
  1115.            o  Printed Users Manual & Reference Manual.
  1116.            o  Telephone and email support for one year.
  1117.  
  1118.       The registered user will receive the latest version of SEE4C shipped
  1119.       by US second day priority mail (packet airmail overseas).  A 3.5"
  1120.       HD diskette is provided.
  1121.  
  1122.       9.2 Academic Discount
  1123.  
  1124.       We offer an "academic price" of 40% off the normal price for prepaid
  1125.       email orders to faculty and students currently enrolled in any
  1126.       accredited high school, college, or university. To qualify for the
  1127.       discount, your school must have a web site and you must have an email
  1128.       address at your school.
  1129.  
  1130.       When ordering, ask for the "academic discount", or enter "student
  1131.       at" (or "faculty at") and your schools web site address (URL) in the
  1132.       comments field of the order form on our web site order page . Your
  1133.       order will be sent to your email address at your school.
  1134.  
  1135.       This offer is not retroactive and cannot be used with any other
  1136.       discount. Products bought with academic pricing can not be used for
  1137.       any commercial purpose.
  1138.  
  1139.  
  1140.      SEE4C Users Manual                                        Page 19
  1141.  
  1142.       9.3 License
  1143.  
  1144.       MarshallSoft Computing, Inc. grants the registered user of SEE4C the
  1145.       right to use one copy of the SEE4C library (in object form) on a
  1146.       single computer in the development of any software product (other
  1147.       than libraries such as SEE4C). The user may not use the the library
  1148.       on more than one computer at the same time.
  1149.  
  1150.       The "student" (40% academic discount) registered DLLs may not be
  1151.       distributed under any circumstances, nor may they be used for any
  1152.       commercial purpose.
  1153.  
  1154.       The "professional" ($95) registered DLLs may be distributed (without
  1155.       royalty) in object form only, as part of the user's application,
  1156.       provided that the DLLs are NOT distributed publicly.
  1157.  
  1158.       9.4 Warranty
  1159.  
  1160.       MARSHALLSOFT COMPUTING, INC.  DISCLAIMS ALL WARRANTIES RELATING TO
  1161.       THIS SOFTWARE, WHETHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
  1162.       LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  1163.       A PARTICULAR PURPOSE, AND ALL SUCH WARRANTIES ARE EXPRESSLY AND
  1164.       SPECIFICALLY DISCLAIMED. NEITHER MARSHALLSOFT COMPUTING, INC.  NOR
  1165.       ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION, OR
  1166.       DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT,
  1167.       CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OR
  1168.       INABILITY TO USE SUCH SOFTWARE EVEN IF MARSHALLSOFT COMPUTING, INC.
  1169.       HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS. IN NO
  1170.       EVENT SHALL MARSHALLSOFT COMPUTING, INC.'S LIABILITY FOR ANY SUCH
  1171.       DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE
  1172.       SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM. THE PERSON USING THE
  1173.       SOFTWARE BEARS ALL RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  1174.       SOFTWARE.
  1175.  
  1176.       Some states do not allow the exclusion of the limit of liability for
  1177.       consequential or incidental damages, so the above limitation may not
  1178.       apply to you.
  1179.  
  1180.       This agreement shall be governed by the laws of the State of Alabama
  1181.       and shall inure to the benefit of MarshallSoft Computing, Inc.  and
  1182.       any successors, administrators, heirs and assigns.  Any action or
  1183.       proceeding brought by either party against the other arising out of
  1184.       or related to this agreement shall be brought only in a STATE or
  1185.       FEDERAL COURT of competent jurisdiction located in Madison County,
  1186.       Alabama. The parties hereby consent to in personam jurisdiction of
  1187.       said courts.
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.      SEE4C Users Manual                                        Page 20
  1201.  
  1202.       10.0 Summary
  1203.  
  1204.  
  1205.       10.1 Revision History
  1206.  
  1207.  
  1208.       Version 1.0 "Beta": May 23, 1998.
  1209.  
  1210.           o  The Beta release.
  1211.  
  1212.       Version 1.0: June 1, 1998.
  1213.  
  1214.           o  The official release of version 1.0.
  1215.  
  1216.       Version 2.0: September 14, 1998.
  1217.  
  1218.           o  A major update adding POP3 capability.
  1219.  
  1220.           o  Another SMTP example program (BCAST).
  1221.  
  1222.  
  1223.       10.2 SEE4C Function Summary
  1224.  
  1225.       Refer to the SEE4C Reference Manual (SEE4C_R.TXT) for detailed
  1226.       information on the communications and support functions.  A one line
  1227.       summary of each function follows.
  1228.  
  1229.       There are 16 functions in the SEE library.
  1230.  
  1231.       +-------------------+-----------------------------------------------+
  1232.       |         seeClose  |  Closes SMTP/POP3 Email Engine.               |
  1233.       |        seeDelete  |  Deletes email.                               |
  1234.       |   seeSmtpConnect  |  Connects to SMTP server.                     |
  1235.       |         seeDebug  |  Returns debug information.                   |
  1236.       |       seeDriver   |  Executes next SEE state.                     |
  1237.       |  seeExtractText   |  Extracts line contining specified text.      |
  1238.       |     seeErrorText  |  Get text associated with error code.         |
  1239.       | seeGetEmailCount  |  Get number of emails waiting on server.      |
  1240.       |  seeGetEmailFile  |  Read email file and save to disk.            |
  1241.       | seeGetEmailLines  |  Read email lines into buffer.                |
  1242.       |  seeIntegerParam  |  Sets SEE integer parameter.                  |
  1243.       |    seePop3Connect |  Connects to POP3 server.                     |
  1244.       |     seeSendEmail  |  Sends email and attachments.                 |
  1245.       |    seeStatistics  |  Returns runtime statistics.                  |
  1246.       |   seeStringParam  |  Sets SEE string parameter.                   |
  1247.       | seeVerifyFormat   |  Check email address.                         |
  1248.       +-------------------+-----------------------------------------------+
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.      SEE4C Users Manual                                        Page 21
  1261.  
  1262.  
  1263.       10.3 SEE Error Return Code List
  1264.  
  1265.  
  1266.       The complete list of SEE error codes follows.
  1267.  
  1268.  
  1269.       +-----------------------+-----------------------------------------+
  1270.       | SEE_NO_ERROR          | No error.                               |
  1271.       | SEE_CANNOT_COMPLY     | Cannot comply. Not always an error.     |
  1272.       +-----------------------+-----------------------------------------+
  1273.       | SEE_EOF               | End of file (socket has been closed).   |
  1274.       | SEE_IS_BLOCKING       | Socket is currently blocking.           |
  1275.       | SEE_BAD_DOTTED        | Bad dotted address.                     |
  1276.       | SEE_TIMED_OUT         | Socket timed out awaiting data.         |
  1277.       | SEE_ABORTED           | The DLL has been corrupted.             |
  1278.       | SEE_ALREADY_CONNECTED | Already connected to server.            |
  1279.       | SEE_BACK_OVERFLOW     | Response buffer has overflowed.         |
  1280.       | SEE_BAD_ADDRESS_CHAR  | Bad character in email address.         |
  1281.       | SEE_CANNOT_ATTACH     | Cannot access WINSOCK                   |
  1282.       | SEE_CANNOT_OPEN       | Cannot open file.                       |
  1283.       | SEE_CONNECT_ERROR     | Error attempting to connect.            |
  1284.       | SEE_EMPTY_ADDRESS     | EMPTY email address.                    |
  1285.       | SEE_FROM_NULL_ARG     | FromPtr is NULL.                        |
  1286.       | SEE_MISSING_AT_CHAR   | Missing '@' character in email address. |
  1287.       | SEE_MISSING_FROM      | Missing FROM email address.             |
  1288.       | SEE_MISSING_LEFT      | Missing '<' delimiter in email address. |
  1289.       | SEE_MISSING_RIGHT     | Missing '>' terminating email address.  |
  1290.       | SEE_NOT_CONNECTED     | Not connected to server                 |
  1291.       | SEE_NO_RECEIPIENTS    | Must have at least one receipient.      |
  1292.       | SEE_NO_SERVER         | Cannot find Smtp server.                |
  1293.       | SEE_NULL_POINTER      | Unexpected NULL pointer.                |
  1294.       | SEE_RCPT_NULL_ARG     | ToPtr is NULL.                          |
  1295.       | SEE_SMTP_ERROR        | SMTP returned error.                    |
  1296.       | SEE_SMTP_NULL_ARG     | SMTP Server not specified.              |
  1297.       | SEE_SOCK_READ_ERROR   | Socket read error.                      |
  1298.       | SEE_SOCK_WRITE_ERROR  | Socket write error.                     |
  1299.       | SEE_TOO_MANY_AT_CHARS | Too many '@' symbols in email address.  |
  1300.       | SEE_SMTP_ONLY         | Must be connected to SMTP server.       |
  1301.       | SEE_POP3_ONLY         | Must be connected to POP3 server.       |
  1302.       | SEE_USER_NULL_ARG     | Required POP3 user argument is missing. |
  1303.       | SEE_PASS_NULL_ARG     | Required POP3 password argument missing.|
  1304.       | SEE_POP3_ERROR        | Error returned by POP3 server.          |
  1305.       | SEE_MSG_NBR_RANGE     | Message number out of range.            |
  1306.       | SEE_FILENAME_NULL_ARG | Required filename is missing.           |
  1307.       | SEE_EMAIL_PATH_NULL   | Required file path is missing.          |
  1308.       | SEE_CANNOT_CREATE     | Cannot create file.                     |
  1309.       | SEE_BUFFER_NULL_ARG   | Required buffer is missing.             |
  1310.       +-----------------------+-----------------------------------------+
  1311.  
  1312.       NOTES:
  1313.       (1) All error codes are negative.
  1314.       (2) Numerical error codes are defined in DEFINES.H.
  1315.       (3) SEE_ABORTED will be returned if the DLL has been modified. You
  1316.           should never get this message!
  1317.  
  1318.  
  1319.  
  1320.      SEE4C Users Manual                                        Page 22
  1321.  
  1322.